package com.ruoyi.develop.goodsSaleTowork.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 派工产品对象 goods_sale_towork
 *
 * @author qh
 * @date 2025-04-09
 */
public class GoodsSaleTowork extends BaseEntity {
private static final long serialVersionUID=1L;

    /** 主键 */
    private String id;

    /** 销售类别 (1:零散销售; 2:项目销售) */
    @Excel(name = "销售类别 (1:零散销售; 2:项目销售)")
    private String type;

    /** 工程名称 */
    @Excel(name = "工程名称")
    private String gongchengName;

    /** 商品id */
    @Excel(name = "商品id")
    private String goodsId;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String goodsName;

    /** 合同交货日期 */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @Excel(name = "合同交货日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date deliveryTime;

    /** 合同物料名称 */
    @Excel(name = "合同物料名称")
    private String contractGoodsName;

    /** 项目负责人 */
    @Excel(name = "项目负责人")
    private String chargePerson;

    /** 产品编码 */
    @Excel(name = "产品编码")
    private String goodsCode;

    /** 产品类型 0-金具 1-产品 */
    @Excel(name = "产品类型 0-金具 1-产品")
    private String goodsType;

    /** 产品型号明细 */
    @Excel(name = "产品型号明细")
    private String goodsBrand;

    /** 产品型号 */
    @Excel(name = "产品型号")
    private String goodModel;

    /** 销售单价（订单单价） */
    @Excel(name = "销售单价", readConverterExp = "订=单单价")
    private BigDecimal goodsUnitPrice;

    /** 锁定数量 */
    @Excel(name = "锁定数量")
    private BigDecimal lockCount;

    /** 总价（订单总价） */
    @Excel(name = "总价", readConverterExp = "订=单总价")
    private BigDecimal goodsTotalPrice;

    /** 成本单价 */
    @Excel(name = "成本单价")
    private BigDecimal goodsBuyPrice;

    /** 成本金额（总成本价） */
    @Excel(name = "成本金额", readConverterExp = "总=成本价")
    private BigDecimal goodsBuyTotal;

    /** 销售利润 */
    @Excel(name = "销售利润")
    private BigDecimal goodsProfit;

    /** 含税单价 */
    @Excel(name = "含税单价")
    private BigDecimal goodsTaxUnitPrice;

    /** 含税总价 */
    @Excel(name = "含税总价")
    private BigDecimal goodsTaxTotalPrice;

    /** 请购数量 */
    @Excel(name = "请购数量")
    private BigDecimal pleaseBuyCount;

    /** 订单数量 */
    @Excel(name = "订单数量")
    private BigDecimal orderCount;

    /** 销售日期 */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @Excel(name = "销售日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date saleDate;

    /** 供应商 */
    @Excel(name = "供应商")
    private String supplierId;

    /** 供应商名称 */
    @Excel(name = "供应商名称")
    private String supplierName;

    /** 客户 */
    @Excel(name = "客户")
    private String customerId;

    /** 客户名称 */
    @Excel(name = "客户名称")
    private String customerName;

    /** 是否开票 */
    @Excel(name = "是否开票")
    private String invoice;

    /** 发票id */
    @Excel(name = "发票id")
    private String invoiceId;

    /** 发票编号 */
    @Excel(name = "发票编号")
    private String invoiceNo;

    /** 是否回款 */
    @Excel(name = "是否回款")
    private String fundCallback;

    /** 是否打印签收单 */
    @Excel(name = "是否打印签收单")
    private String receipt;

    /** 销售人 */
    @Excel(name = "销售人")
    private String saleId;

    /** 销售人姓名 */
    @Excel(name = "销售人姓名")
    private String saleName;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 订单编号 */
    @Excel(name = "订单编号")
    private String projectId;

    /** 订单名称 */
    @Excel(name = "订单名称")
    private String projectName;

    /** 订单编号 */
    @Excel(name = "订单编号")
    private String projectNo;

    /** 产品状态 */
    @Excel(name = "产品状态")
    private String status;

    /** 部门ID */
    @Excel(name = "部门ID")
    private String deptId;

    /** 部门名称 */
    @Excel(name = "部门名称")
    private String deptName;

    /** 是否发货'0'（未发货，1发货通知单，2未发货，3部分发货，4全部发货，5全部到货） */
    @Excel(name = "是否发货'0'", readConverterExp = "未=发货，1发货通知单，2未发货，3部分发货，4全部发货，5全部到货")
    private String isfahuo;

    /** 发货时间 */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date fahuoDate;

    /** 回款时间 */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @Excel(name = "回款时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date huikuanDate;

    /** 产品编码 */
    @Excel(name = "产品编码")
    private String code;

    /** 是否自制(1:自制; 2:请购; 3:外协) */
    @Excel(name = "是否自制(1:自制; 2:请购; 3:外协)")
    private String isdo;

    /** 已发货数量 */
    @Excel(name = "已发货数量")
    private BigDecimal fahuoCount;

    /** 剩余发货 */
    @Excel(name = "剩余发货")
    private BigDecimal fahuoShengyu;

    /** 请购单id */
    @Excel(name = "请购单id")
    private String lvdoId;

    /** 请购单编号 */
    @Excel(name = "请购单编号")
    private String lvdoNo;

    /** 工艺id */
    @Excel(name = "工艺id")
    private String gongyiId;

    /** 工艺名称 */
    @Excel(name = "工艺名称")
    private String gongyiName;

    /** 工艺编号 */
    @Excel(name = "工艺编号")
    private String gongyiCode;

    /** 工艺文件 */
    @Excel(name = "工艺文件")
    private String gongyiFile;

    /** 工艺图纸 */
    @Excel(name = "工艺图纸")
    private String gongyiPhoto;

    /** 工艺说明 */
    @Excel(name = "工艺说明")
    private String gongyiShuoming;

    /** 工艺工序及分配任务状态 */
    @Excel(name = "工艺工序及分配任务状态")
    private String state;

    /** 巡检记录单 */
    @Excel(name = "巡检记录单")
    private String xunjianFile;

    /** 入库数量 */
    @Excel(name = "入库数量")
    private BigDecimal rukuCount;

    /** 未入库数量 */
    @Excel(name = "未入库数量")
    private BigDecimal weiruCount;

    /** 合同收货人 */
    @Excel(name = "合同收货人")
    private String deliveryPerson;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String rukumingxiId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String rukumingxiNo;

    /** 是否拆解 */
    @Excel(name = "是否拆解")
    private String ischaijie;

    /** 排序 */
    @Excel(name = "排序")
    private Long sort;

    /** 采购类型（0普通采购，1.直发货采购） */
    @Excel(name = "采购类型", readConverterExp = "0=普通采购，1.直发货采购")
    private String caigouType;

    /** 项目单位 */
    @Excel(name = "项目单位")
    private String projectDept;

    public void setId(String id)
            {
            this.id = id;
            }

    public String getId()
            {
            return id;
            }
    public void setType(String type)
            {
            this.type = type;
            }

    public String getType()
            {
            return type;
            }
    public void setGongchengName(String gongchengName)
            {
            this.gongchengName = gongchengName;
            }

    public String getGongchengName()
            {
            return gongchengName;
            }
    public void setGoodsId(String goodsId)
            {
            this.goodsId = goodsId;
            }

    public String getGoodsId()
            {
            return goodsId;
            }
    public void setGoodsName(String goodsName)
            {
            this.goodsName = goodsName;
            }

    public String getGoodsName()
            {
            return goodsName;
            }
    public void setDeliveryTime(Date deliveryTime)
            {
            this.deliveryTime = deliveryTime;
            }

    public Date getDeliveryTime()
            {
            return deliveryTime;
            }
    public void setContractGoodsName(String contractGoodsName)
            {
            this.contractGoodsName = contractGoodsName;
            }

    public String getContractGoodsName()
            {
            return contractGoodsName;
            }
    public void setChargePerson(String chargePerson)
            {
            this.chargePerson = chargePerson;
            }

    public String getChargePerson()
            {
            return chargePerson;
            }
    public void setGoodsCode(String goodsCode)
            {
            this.goodsCode = goodsCode;
            }

    public String getGoodsCode()
            {
            return goodsCode;
            }
    public void setGoodsType(String goodsType)
            {
            this.goodsType = goodsType;
            }

    public String getGoodsType()
            {
            return goodsType;
            }
    public void setGoodsBrand(String goodsBrand)
            {
            this.goodsBrand = goodsBrand;
            }

    public String getGoodsBrand()
            {
            return goodsBrand;
            }
    public void setGoodModel(String goodModel)
            {
            this.goodModel = goodModel;
            }

    public String getGoodModel()
            {
            return goodModel;
            }
    public void setGoodsUnitPrice(BigDecimal goodsUnitPrice)
            {
            this.goodsUnitPrice = goodsUnitPrice;
            }

    public BigDecimal getGoodsUnitPrice()
            {
            return goodsUnitPrice;
            }
    public void setLockCount(BigDecimal lockCount)
            {
            this.lockCount = lockCount;
            }

    public BigDecimal getLockCount()
            {
            return lockCount;
            }
    public void setGoodsTotalPrice(BigDecimal goodsTotalPrice)
            {
            this.goodsTotalPrice = goodsTotalPrice;
            }

    public BigDecimal getGoodsTotalPrice()
            {
            return goodsTotalPrice;
            }
    public void setGoodsBuyPrice(BigDecimal goodsBuyPrice)
            {
            this.goodsBuyPrice = goodsBuyPrice;
            }

    public BigDecimal getGoodsBuyPrice()
            {
            return goodsBuyPrice;
            }
    public void setGoodsBuyTotal(BigDecimal goodsBuyTotal)
            {
            this.goodsBuyTotal = goodsBuyTotal;
            }

    public BigDecimal getGoodsBuyTotal()
            {
            return goodsBuyTotal;
            }
    public void setGoodsProfit(BigDecimal goodsProfit)
            {
            this.goodsProfit = goodsProfit;
            }

    public BigDecimal getGoodsProfit()
            {
            return goodsProfit;
            }
    public void setGoodsTaxUnitPrice(BigDecimal goodsTaxUnitPrice)
            {
            this.goodsTaxUnitPrice = goodsTaxUnitPrice;
            }

    public BigDecimal getGoodsTaxUnitPrice()
            {
            return goodsTaxUnitPrice;
            }
    public void setGoodsTaxTotalPrice(BigDecimal goodsTaxTotalPrice)
            {
            this.goodsTaxTotalPrice = goodsTaxTotalPrice;
            }

    public BigDecimal getGoodsTaxTotalPrice()
            {
            return goodsTaxTotalPrice;
            }
    public void setPleaseBuyCount(BigDecimal pleaseBuyCount)
            {
            this.pleaseBuyCount = pleaseBuyCount;
            }

    public BigDecimal getPleaseBuyCount()
            {
            return pleaseBuyCount;
            }
    public void setOrderCount(BigDecimal orderCount)
            {
            this.orderCount = orderCount;
            }

    public BigDecimal getOrderCount()
            {
            return orderCount;
            }
    public void setSaleDate(Date saleDate)
            {
            this.saleDate = saleDate;
            }

    public Date getSaleDate()
            {
            return saleDate;
            }
    public void setSupplierId(String supplierId)
            {
            this.supplierId = supplierId;
            }

    public String getSupplierId()
            {
            return supplierId;
            }
    public void setSupplierName(String supplierName)
            {
            this.supplierName = supplierName;
            }

    public String getSupplierName()
            {
            return supplierName;
            }
    public void setCustomerId(String customerId)
            {
            this.customerId = customerId;
            }

    public String getCustomerId()
            {
            return customerId;
            }
    public void setCustomerName(String customerName)
            {
            this.customerName = customerName;
            }

    public String getCustomerName()
            {
            return customerName;
            }
    public void setInvoice(String invoice)
            {
            this.invoice = invoice;
            }

    public String getInvoice()
            {
            return invoice;
            }
    public void setInvoiceId(String invoiceId)
            {
            this.invoiceId = invoiceId;
            }

    public String getInvoiceId()
            {
            return invoiceId;
            }
    public void setInvoiceNo(String invoiceNo)
            {
            this.invoiceNo = invoiceNo;
            }

    public String getInvoiceNo()
            {
            return invoiceNo;
            }
    public void setFundCallback(String fundCallback)
            {
            this.fundCallback = fundCallback;
            }

    public String getFundCallback()
            {
            return fundCallback;
            }
    public void setReceipt(String receipt)
            {
            this.receipt = receipt;
            }

    public String getReceipt()
            {
            return receipt;
            }
    public void setSaleId(String saleId)
            {
            this.saleId = saleId;
            }

    public String getSaleId()
            {
            return saleId;
            }
    public void setSaleName(String saleName)
            {
            this.saleName = saleName;
            }

    public String getSaleName()
            {
            return saleName;
            }
    public void setDelFlag(String delFlag)
            {
            this.delFlag = delFlag;
            }

    public String getDelFlag()
            {
            return delFlag;
            }
    public void setProjectId(String projectId)
            {
            this.projectId = projectId;
            }

    public String getProjectId()
            {
            return projectId;
            }
    public void setProjectName(String projectName)
            {
            this.projectName = projectName;
            }

    public String getProjectName()
            {
            return projectName;
            }
    public void setProjectNo(String projectNo)
            {
            this.projectNo = projectNo;
            }

    public String getProjectNo()
            {
            return projectNo;
            }
    public void setStatus(String status)
            {
            this.status = status;
            }

    public String getStatus()
            {
            return status;
            }
    public void setDeptId(String deptId)
            {
            this.deptId = deptId;
            }

    public String getDeptId()
            {
            return deptId;
            }
    public void setDeptName(String deptName)
            {
            this.deptName = deptName;
            }

    public String getDeptName()
            {
            return deptName;
            }
    public void setIsfahuo(String isfahuo)
            {
            this.isfahuo = isfahuo;
            }

    public String getIsfahuo()
            {
            return isfahuo;
            }
    public void setFahuoDate(Date fahuoDate)
            {
            this.fahuoDate = fahuoDate;
            }

    public Date getFahuoDate()
            {
            return fahuoDate;
            }
    public void setHuikuanDate(Date huikuanDate)
            {
            this.huikuanDate = huikuanDate;
            }

    public Date getHuikuanDate()
            {
            return huikuanDate;
            }
    public void setCode(String code)
            {
            this.code = code;
            }

    public String getCode()
            {
            return code;
            }
    public void setIsdo(String isdo)
            {
            this.isdo = isdo;
            }

    public String getIsdo()
            {
            return isdo;
            }
    public void setFahuoCount(BigDecimal fahuoCount)
            {
            this.fahuoCount = fahuoCount;
            }

    public BigDecimal getFahuoCount()
            {
            return fahuoCount;
            }
    public void setFahuoShengyu(BigDecimal fahuoShengyu)
            {
            this.fahuoShengyu = fahuoShengyu;
            }

    public BigDecimal getFahuoShengyu()
            {
            return fahuoShengyu;
            }
    public void setLvdoId(String lvdoId)
            {
            this.lvdoId = lvdoId;
            }

    public String getLvdoId()
            {
            return lvdoId;
            }
    public void setLvdoNo(String lvdoNo)
            {
            this.lvdoNo = lvdoNo;
            }

    public String getLvdoNo()
            {
            return lvdoNo;
            }
    public void setGongyiId(String gongyiId)
            {
            this.gongyiId = gongyiId;
            }

    public String getGongyiId()
            {
            return gongyiId;
            }
    public void setGongyiName(String gongyiName)
            {
            this.gongyiName = gongyiName;
            }

    public String getGongyiName()
            {
            return gongyiName;
            }
    public void setGongyiCode(String gongyiCode)
            {
            this.gongyiCode = gongyiCode;
            }

    public String getGongyiCode()
            {
            return gongyiCode;
            }
    public void setGongyiFile(String gongyiFile)
            {
            this.gongyiFile = gongyiFile;
            }

    public String getGongyiFile()
            {
            return gongyiFile;
            }
    public void setGongyiPhoto(String gongyiPhoto)
            {
            this.gongyiPhoto = gongyiPhoto;
            }

    public String getGongyiPhoto()
            {
            return gongyiPhoto;
            }
    public void setGongyiShuoming(String gongyiShuoming)
            {
            this.gongyiShuoming = gongyiShuoming;
            }

    public String getGongyiShuoming()
            {
            return gongyiShuoming;
            }
    public void setState(String state)
            {
            this.state = state;
            }

    public String getState()
            {
            return state;
            }
    public void setXunjianFile(String xunjianFile)
            {
            this.xunjianFile = xunjianFile;
            }

    public String getXunjianFile()
            {
            return xunjianFile;
            }
    public void setRukuCount(BigDecimal rukuCount)
            {
            this.rukuCount = rukuCount;
            }

    public BigDecimal getRukuCount()
            {
            return rukuCount;
            }
    public void setWeiruCount(BigDecimal weiruCount)
            {
            this.weiruCount = weiruCount;
            }

    public BigDecimal getWeiruCount()
            {
            return weiruCount;
            }
    public void setDeliveryPerson(String deliveryPerson)
            {
            this.deliveryPerson = deliveryPerson;
            }

    public String getDeliveryPerson()
            {
            return deliveryPerson;
            }
    public void setRukumingxiId(String rukumingxiId)
            {
            this.rukumingxiId = rukumingxiId;
            }

    public String getRukumingxiId()
            {
            return rukumingxiId;
            }
    public void setRukumingxiNo(String rukumingxiNo)
            {
            this.rukumingxiNo = rukumingxiNo;
            }

    public String getRukumingxiNo()
            {
            return rukumingxiNo;
            }
    public void setIschaijie(String ischaijie)
            {
            this.ischaijie = ischaijie;
            }

    public String getIschaijie()
            {
            return ischaijie;
            }
    public void setSort(Long sort)
            {
            this.sort = sort;
            }

    public Long getSort()
            {
            return sort;
            }
    public void setCaigouType(String caigouType)
            {
            this.caigouType = caigouType;
            }

    public String getCaigouType()
            {
            return caigouType;
            }
    public void setProjectDept(String projectDept)
            {
            this.projectDept = projectDept;
            }

    public String getProjectDept()
            {
            return projectDept;
            }

    @Override
    public String toString(){
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id",getId())
            .append("type",getType())
            .append("gongchengName",getGongchengName())
            .append("goodsId",getGoodsId())
            .append("goodsName",getGoodsName())
            .append("deliveryTime",getDeliveryTime())
            .append("contractGoodsName",getContractGoodsName())
            .append("chargePerson",getChargePerson())
            .append("goodsCode",getGoodsCode())
            .append("goodsType",getGoodsType())
            .append("goodsBrand",getGoodsBrand())
            .append("goodModel",getGoodModel())
            .append("goodsUnitPrice",getGoodsUnitPrice())
            .append("lockCount",getLockCount())
            .append("goodsTotalPrice",getGoodsTotalPrice())
            .append("goodsBuyPrice",getGoodsBuyPrice())
            .append("goodsBuyTotal",getGoodsBuyTotal())
            .append("goodsProfit",getGoodsProfit())
            .append("goodsTaxUnitPrice",getGoodsTaxUnitPrice())
            .append("goodsTaxTotalPrice",getGoodsTaxTotalPrice())
            .append("pleaseBuyCount",getPleaseBuyCount())
            .append("orderCount",getOrderCount())
            .append("saleDate",getSaleDate())
            .append("supplierId",getSupplierId())
            .append("supplierName",getSupplierName())
            .append("customerId",getCustomerId())
            .append("customerName",getCustomerName())
            .append("invoice",getInvoice())
            .append("invoiceId",getInvoiceId())
            .append("invoiceNo",getInvoiceNo())
            .append("fundCallback",getFundCallback())
            .append("receipt",getReceipt())
            .append("saleId",getSaleId())
            .append("saleName",getSaleName())
            .append("delFlag",getDelFlag())
            .append("createBy",getCreateBy())
            .append("createTime",getCreateTime())
            .append("updateBy",getUpdateBy())
            .append("updateTime",getUpdateTime())
            .append("remark",getRemark())
            .append("projectId",getProjectId())
            .append("projectName",getProjectName())
            .append("projectNo",getProjectNo())
            .append("status",getStatus())
            .append("deptId",getDeptId())
            .append("deptName",getDeptName())
            .append("isfahuo",getIsfahuo())
            .append("fahuoDate",getFahuoDate())
            .append("huikuanDate",getHuikuanDate())
            .append("code",getCode())
            .append("isdo",getIsdo())
            .append("fahuoCount",getFahuoCount())
            .append("fahuoShengyu",getFahuoShengyu())
            .append("lvdoId",getLvdoId())
            .append("lvdoNo",getLvdoNo())
            .append("gongyiId",getGongyiId())
            .append("gongyiName",getGongyiName())
            .append("gongyiCode",getGongyiCode())
            .append("gongyiFile",getGongyiFile())
            .append("gongyiPhoto",getGongyiPhoto())
            .append("gongyiShuoming",getGongyiShuoming())
            .append("state",getState())
            .append("xunjianFile",getXunjianFile())
            .append("rukuCount",getRukuCount())
            .append("weiruCount",getWeiruCount())
            .append("deliveryPerson",getDeliveryPerson())
            .append("rukumingxiId",getRukumingxiId())
            .append("rukumingxiNo",getRukumingxiNo())
            .append("ischaijie",getIschaijie())
            .append("sort",getSort())
            .append("caigouType",getCaigouType())
            .append("projectDept",getProjectDept())
        .toString();
    }
}
